/**
 * 使用示例
 * 
 * 编译和运行：
 * javac -d . *.java
 * java -Djava.library.path=../target/release Example
 */
public class Example {
    public static void main(String[] args) {
        // 创建 QAAgent
        QAAgent agent = new QAAgent("/path/to/workspace");

        // 实现 LLModel（Mock 实现，每 100ms 返回一次）
        LLModel model = new LLModel() {
            private int count = 0;
            private final int maxCount = 10;
            
            @Override
            public String next() {
                if (count < maxCount) {
                    try {
                        Thread.sleep(100);  // 模拟延迟
                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        return null;
                    }
                    return "hello world " + (++count);
                }
                return null;  // 流结束
            }
        };

        // 实现 AgentResponseStream
        AgentResponseStream stream = new AgentResponseStream() {
            @Override
            public void update(String content) {
                System.out.print(content);  // 或者发送到前端
            }
        };

        try {
            // 调用 answer 方法
            System.out.println("开始处理查询...");
            agent.answer("What is Rust?", model, stream);
            System.out.println("\n处理完成！");
        } finally {
            // 清理资源
            agent.close();
        }
    }
}

